Skip to content

Feature: Filterbank Canonical Correlation Analysis (FBCCA)#107

Merged
cboulay merged 4 commits intodevfrom
feature/fbcca
Oct 30, 2025
Merged

Feature: Filterbank Canonical Correlation Analysis (FBCCA)#107
cboulay merged 4 commits intodevfrom
feature/fbcca

Conversation

@griffinmilsap
Copy link
Contributor

This PR relies upon features introduced in #105 and #106

This PR adds an implementation of a canonical-correlation (CCA) signal decoder for detection of periodic activity in multi-channel timeseries recordings. It is particularly useful for detecting the presence of steady-state evoked responses in multi-channel EEG data. Please see Lin et. al. 2007 for a description on the use of CCA to detect the presence of SSVEP in EEG data.

This implementation also includes the "Filterbank" extension of the CCA decoding approach which utilizes a filterbank to decompose input multi-channel EEG data into several frequency sub-bands; each of which is analyzed with CCA, then combined using a weighted sum; allowing CCA to more readily identify harmonic content in EEG data. Read more about this approach in Chen et. al. 2015.

Additionally, this feature includes a StreamingFBCCA unit that decomposes the input multi-channel timeseries data into multiple sub-bands using a FilterbankDesign Transformer, then accumulates data using Window into short-time observations for analysis using an FBCCA Transformer.

This PR is currently marked as draft because it could use some unit tests.

@cboulay cboulay changed the base branch from dev to feature/filterbank-design October 30, 2025 05:29
@cboulay cboulay force-pushed the feature/filterbank-design branch from e7880fb to baa1f00 Compare October 30, 2025 05:53
Base automatically changed from feature/filterbank-design to dev October 30, 2025 06:19
@cboulay cboulay marked this pull request as ready for review October 30, 2025 06:26
@cboulay cboulay merged commit fba9670 into dev Oct 30, 2025
14 checks passed
@cboulay cboulay deleted the feature/fbcca branch October 30, 2025 06:40
@cboulay cboulay mentioned this pull request Oct 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants